package org.springframework.beans.factory.context;

import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;

import java.io.Closeable;

/**
 * @author:刘仁有
 * @desc:
 * @email:953506233@qq.com
 * @data:2019/12/13
 */
public interface ConfigurableApplicationContext extends ApplicationContext, Closeable {

    void refresh();

    void setId(String id);

    @Override
    void close();

    boolean isActive();

    DefaultListableBeanFactory getBeanFactory();

    void addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor);

    void registerShutdownHook();
}
